/**
 * Mybatis plus 实现多租户功能
 * SasS多租户
 *  - SaaS：是Software-as-Service的缩写，意思是软件即服务，即通过网络提供软件服务
 *  - SaaS平台提供商将应用软件统一部署在自己的服务器上，客户可以根据工作实际需求，通过互联网向厂商订购所需的软件服务，按照订购的服务多少和时间长短向厂商支付费用，病通过互联网获得Saas平台提供商的服务。
 *  - SaaS服务通常基于一套标准软件系统为成千上百个不同客户（又称租户）提供服务，这要求SaaS服务能够支持不同租户之间的数据和配置的隔离，从而保证每个租户数据的安全于隐私，以及用户对诸如界面、业务逻辑、数据结构等的个性化订制
 *    由于SaaS同时支持多个租户，每个租户又又很多用户，这对支撑软件的基础设置平台性能、稳定性和扩展性提出很大挑战。
 *  多租户
 *  - 多租户技术或称多重租赁技术，是一种软件架构技术。它是在探讨于实现如何用于多用户的环境下公用相同系统或程序软件，并且人格可确保用户软件间数据的隔离性
 *  - 多租户可以实现多个租户之间共享系统实例，同时又可以实现租户的系统实例的个性化订制，通过很多租户技术可以保证系统共行的部分被共享，个性部分被单独隔离，通过在多个租户之间的资源服用，运营管理、维护资源、有效节省开发应用的成本。
 *  - 多租户技术的实现重点，在于不同租户间应用程序环境的隔离、以及数据隔离、以维持不同租户间应用程序不回相互干扰，同时数据的保密性也足够强。
 *
 *  多租户数据隔离有三种方案
 *  - 独立数据库：简单来说就是一个租户使用一个数据库，这种数据隔离级别最高，安全性最好，但是提高成本
 *  - 共享数据库、隔离数据架构：多租户使用同一个数据库、但是每个租户对应一个schame（数据库user）
 *  - 共享数据库、共享数据架构：使用同一个数据库、统一个Schema、但是在表中增加租户ID字段，这种共享数据程度最高，隔离级别最低
 *
 * Mybatis Plus 多租户插件
 * Mybatis Plus提供租户处理器（tenantId行级）、租户之间共享数据库，共享数据架构，通过字段（租户ID）进行数据逻辑隔离。
 * 注意事项：
 *  - 多租户 != 权限过滤，不要乱用，租户之间完全隔离的！！
 *  - 启用多租户后所有执行的method都会进行处理
 *  - 自卸的sql请按照规范书写（sql涉及到多个表的每个表都要给别名，特别是 inner join 的要写标准的inner join
 *  ）
 *
 */
package com.shaozj.tenant;